{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c0e8f596",
   "metadata": {},
   "source": [
    "# 请求页面准备  \n",
    "1 找到页面的数据API接口  \n",
    "2 提供正确的用户请求酬载  \n",
    "3 准备请求的headers 增加cookie信息 保证数据合理性  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c5d57395",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'HTMLSession' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Input \u001b[1;32mIn [4]\u001b[0m, in \u001b[0;36m<cell line: 38>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      5\u001b[0m payload \u001b[38;5;241m=\u001b[39m {\n\u001b[0;32m      6\u001b[0m     \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata\u001b[39m\u001b[38;5;124m\"\u001b[39m: {\n\u001b[0;32m      7\u001b[0m         \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmainSearchPcConditionForm\u001b[39m\u001b[38;5;124m\"\u001b[39m: {\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m     34\u001b[0m     }\n\u001b[0;32m     35\u001b[0m }\n\u001b[0;32m     37\u001b[0m \u001b[38;5;66;03m# create an HTML session using Requests-HTML\u001b[39;00m\n\u001b[1;32m---> 38\u001b[0m session \u001b[38;5;241m=\u001b[39m \u001b[43mHTMLSession\u001b[49m()\n\u001b[0;32m     40\u001b[0m \u001b[38;5;66;03m# set the headers\u001b[39;00m\n\u001b[0;32m     41\u001b[0m headers \u001b[38;5;241m=\u001b[39m {\n\u001b[0;32m     42\u001b[0m     \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mAccept\u001b[39m\u001b[38;5;124m'\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mapplication/json, text/plain, */*\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[0;32m     43\u001b[0m     \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mAccept-Encoding\u001b[39m\u001b[38;5;124m'\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mgzip, deflate, br\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m     68\u001b[0m     \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mX-XSRF-TOKEN\u001b[39m\u001b[38;5;124m'\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mioYE87NtQmKVBO3G0Y0HCg\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m     69\u001b[0m }\n",
      "\u001b[1;31mNameError\u001b[0m: name 'HTMLSession' is not defined"
     ]
    }
   ],
   "source": [
    "import requests\n",
    "import json\n",
    "\n",
    "url = \"https://apic.liepin.com/api/com.liepin.searchfront4c.pc-search-job\"\n",
    "payload = {\n",
    "    \"data\": {\n",
    "        \"mainSearchPcConditionForm\": {\n",
    "            \"city\": \"050020\",\n",
    "            \"dq\": \"050020\",\n",
    "            \"pubTime\": \"\",\n",
    "            \"currentPage\": 0,\n",
    "            \"pageSize\": 40,\n",
    "            \"key\": \"产品经理\",\n",
    "            \"suggestTag\": \"\",\n",
    "            \"workYearCode\": \"0\",\n",
    "            \"compId\": \"\",\n",
    "            \"compName\": \"\",\n",
    "            \"compTag\": \"\",\n",
    "            \"industry\": \"\",\n",
    "            \"salary\": \"\",\n",
    "            \"jobKind\": \"\",\n",
    "            \"compScale\": \"\",\n",
    "            \"compKind\": \"\",\n",
    "            \"compStage\": \"\",\n",
    "            \"eduLevel\": \"\"\n",
    "        },\n",
    "        \"passThroughForm\": {\n",
    "            \"scene\": \"input\",\n",
    "            \"skId\": \"\",\n",
    "            \"fkId\": \"\",\n",
    "            \"ckId\": \"h2c8pxojavrmo1w785z7ueih2ybfpux8\",\n",
    "            \"suggest\": None\n",
    "        }\n",
    "    }\n",
    "}\n",
    "\n",
    "# create an HTML session using Requests-HTML\n",
    "session = HTMLSession()\n",
    "\n",
    "# set the headers\n",
    "headers = {\n",
    "    'Accept': 'application/json, text/plain, */*',\n",
    "    'Accept-Encoding': 'gzip, deflate, br',\n",
    "    'Accept-Language': 'zh-CN,zh;q=0.9',\n",
    "    'Cache-Control': 'no-cache',\n",
    "    'Connection': 'keep-alive',\n",
    "    'Content-Length': '412',\n",
    "    'Content-Type': 'application/json;charset=UTF-8;',\n",
    "    'Cookie': 'inited_user=daf7251f92024e8969feb28b0e9ad34c; XSRF-TOKEN=ioYE87NtQmKVBO3G0Y0HCg; __gc_id=37822670cebb460693955108ff86d124; __uuid=1679636647293.55; __tlog=1679636647295.49%7C00000000%7C00000000%7C00000000%7C00000000; _ga=GA1.1.1687403970.1681896657; acw_tc=276077d816837105124564397e9c8b7118940ba709aa4ba34680cbb786f8bc; Hm_lvt_a2647413544f5a04f00da7eee0d5e200=1683710513; UniqueKey=95507c72a8d5ae141a667e00ad0d9493; liepin_login_valid=0; lt_auth=s%2Bpfa3QGxlzxtXfR3zQN4vociI39UWvIpX8EhE0Ahoe%2BCqG04PngSwOGq7EExAMhxB8mc8ULN7j9Mun%2BzHBP6UIbwGqnl4CyvOW92GECS%2B1cN8W2vezHl8zRQpQcl0AC8nFbtkIL%2BQ%3D%3D; access_system=C; user_roles=0; user_photo=5f8fa3a679c7cc70efbf444e08u.png; user_name=%E8%AE%B8%E6%99%BA%E8%B6%85; need_bind_tel=false; new_user=false; c_flag=fa43f4d55f3df63a96a7b4f194e214d4; inited_user=daf7251f92024e8969feb28b0e9ad34c; imId=c5f9b89f8466dffe6882ca1e5431db9c; imId_0=c5f9b89f8466dffe6882ca1e5431db9c; imClientId=c5f9b89f8466dffeb1921abcfab3aed0; imClientId_0=c5f9b89f8466dffeb1921abcfab3aed0; imApp_0=1; Hm_lpvt_a2647413544f5a04f00da7eee0d5e200=1683710561; __session_seq=24; __uv_seq=4; fe_im_socketSequence_new_0=2_2_2; fe_im_opened_pages=; fe_im_connectJson_0=%7B%220_95507c72a8d5ae141a667e00ad0d9493%22%3A%7B%22socketConnect%22%3A%222%22%2C%22connectDomain%22%3A%22liepin.com%22%7D%7D; _ga_54YTJKWN86=GS1.1.1683710511.3.1.1683710585.0.0.0',\n",
    "    'Host': 'apic.liepin.com',\n",
    "    'Origin': 'https://www.liepin.com',\n",
    "    'Pragma': 'no-cache',\n",
    "    'Referer': 'https://www.liepin.com/',\n",
    "    'sec-ch-ua': '\"Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111\"',\n",
    "    'sec-ch-ua-mobile': '?0',\n",
    "    'sec-ch-ua-platform': '\"macOS\"',\n",
    "    'Sec-Fetch-Dest': 'empty',\n",
    "    'Sec-Fetch-Mode': 'cors',\n",
    "    'Sec-Fetch-Site': 'same-site',\n",
    "    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',\n",
    "    'X-Client-Type': 'web',\n",
    "    'X-Fscp-Bi-Stat': '{\"location\": \"https://www.liepin.com/zhaopin/?inputFrom=www_index&workYearCode=0&key=%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86&scene=input&ckId=htihov8m2frxgy6ywo2wsg2gncnydzlb&dq=\"}',\n",
    "    'X-Fscp-Fe-Version': '',\n",
    "    'X-Fscp-Std-Info': '{\"client_id\": \"40108\"}',\n",
    "    'X-Fscp-Trace-Id': '296c6ffc-320c-4ab2-ab90-29e44a2664d4',\n",
    "    'X-Fscp-Version': '1.1',\n",
    "    'X-Requested-With': 'XMLHttpRequest',\n",
    "    'X-XSRF-TOKEN': 'ioYE87NtQmKVBO3G0Y0HCg'\n",
    "}\n",
    "\n",
    "# send a POST request with headers\n",
    "r = session.post(url, data=json.dumps(payload), headers=headers)\n",
    "\n",
    "# extract the JSON data from the response\n",
    "response_data = r.json()\n",
    "\n",
    "# example: print the number of job postings returned\n",
    "print(response_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b6653181",
   "metadata": {},
   "source": [
    "## 翻页处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "d2702cdc",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'session' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Input \u001b[1;32mIn [5]\u001b[0m, in \u001b[0;36m<cell line: 3>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      4\u001b[0m payload[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdata\u001b[39m\u001b[38;5;124m'\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmainSearchPcConditionForm\u001b[39m\u001b[38;5;124m'\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcurrentPage\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m=\u001b[39mi\n\u001b[0;32m      5\u001b[0m \u001b[38;5;66;03m# send a POST request with headers\u001b[39;00m\n\u001b[1;32m----> 6\u001b[0m r \u001b[38;5;241m=\u001b[39m \u001b[43msession\u001b[49m\u001b[38;5;241m.\u001b[39mpost(url, data\u001b[38;5;241m=\u001b[39mjson\u001b[38;5;241m.\u001b[39mdumps(payload), headers\u001b[38;5;241m=\u001b[39mheaders)\n\u001b[0;32m      8\u001b[0m \u001b[38;5;66;03m# extract the JSON data from the response\u001b[39;00m\n\u001b[0;32m      9\u001b[0m response_data \u001b[38;5;241m=\u001b[39m r\u001b[38;5;241m.\u001b[39mjson()\n",
      "\u001b[1;31mNameError\u001b[0m: name 'session' is not defined"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "response_df = []\n",
    "for i in range(21):\n",
    "    payload['data']['mainSearchPcConditionForm']['currentPage']=i\n",
    "    # send a POST request with headers\n",
    "    r = session.post(url, data=json.dumps(payload), headers=headers)\n",
    "\n",
    "    # extract the JSON data from the response\n",
    "    response_data = r.json()\n",
    "    print(response_data)\n",
    "    df = pd.json_normalize(response_data['data']['data']['jobCardList'])\n",
    "    response_df.append(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "941a2d3d",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'response_dfespone' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Input \u001b[1;32mIn [6]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mresponse_dfespone\u001b[49m\n",
      "\u001b[1;31mNameError\u001b[0m: name 'response_dfespone' is not defined"
     ]
    }
   ],
   "source": [
    "response_dfespone"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f574e2b",
   "metadata": {},
   "source": [
    "## 数据整理成为表格  \n",
    "1 pandas中的concat方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "44fb5d99",
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "No objects to concatenate",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "Input \u001b[1;32mIn [7]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[0m df \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconcat\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse_df\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m      2\u001b[0m df\n",
      "File \u001b[1;32mE:\\conda\\lib\\site-packages\\pandas\\util\\_decorators.py:311\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m    305\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[0;32m    306\u001b[0m     warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[0;32m    307\u001b[0m         msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39marguments),\n\u001b[0;32m    308\u001b[0m         \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[0;32m    309\u001b[0m         stacklevel\u001b[38;5;241m=\u001b[39mstacklevel,\n\u001b[0;32m    310\u001b[0m     )\n\u001b[1;32m--> 311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m func(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n",
      "File \u001b[1;32mE:\\conda\\lib\\site-packages\\pandas\\core\\reshape\\concat.py:347\u001b[0m, in \u001b[0;36mconcat\u001b[1;34m(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[0;32m    143\u001b[0m \u001b[38;5;129m@deprecate_nonkeyword_arguments\u001b[39m(version\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, allowed_args\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mobjs\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m    144\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconcat\u001b[39m(\n\u001b[0;32m    145\u001b[0m     objs: Iterable[NDFrame] \u001b[38;5;241m|\u001b[39m Mapping[Hashable, NDFrame],\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    154\u001b[0m     copy: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[0;32m    155\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DataFrame \u001b[38;5;241m|\u001b[39m Series:\n\u001b[0;32m    156\u001b[0m     \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m    157\u001b[0m \u001b[38;5;124;03m    Concatenate pandas objects along a particular axis with optional set logic\u001b[39;00m\n\u001b[0;32m    158\u001b[0m \u001b[38;5;124;03m    along the other axes.\u001b[39;00m\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    345\u001b[0m \u001b[38;5;124;03m    ValueError: Indexes have overlapping values: ['a']\u001b[39;00m\n\u001b[0;32m    346\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m--> 347\u001b[0m     op \u001b[38;5;241m=\u001b[39m \u001b[43m_Concatenator\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m    348\u001b[0m \u001b[43m        \u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    349\u001b[0m \u001b[43m        \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    350\u001b[0m \u001b[43m        \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    351\u001b[0m \u001b[43m        \u001b[49m\u001b[43mjoin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mjoin\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    352\u001b[0m \u001b[43m        \u001b[49m\u001b[43mkeys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    353\u001b[0m \u001b[43m        \u001b[49m\u001b[43mlevels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    354\u001b[0m \u001b[43m        \u001b[49m\u001b[43mnames\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnames\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    355\u001b[0m \u001b[43m        \u001b[49m\u001b[43mverify_integrity\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mverify_integrity\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    356\u001b[0m \u001b[43m        \u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcopy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    357\u001b[0m \u001b[43m        \u001b[49m\u001b[43msort\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msort\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    358\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    360\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m op\u001b[38;5;241m.\u001b[39mget_result()\n",
      "File \u001b[1;32mE:\\conda\\lib\\site-packages\\pandas\\core\\reshape\\concat.py:404\u001b[0m, in \u001b[0;36m_Concatenator.__init__\u001b[1;34m(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[0;32m    401\u001b[0m     objs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(objs)\n\u001b[0;32m    403\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(objs) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m--> 404\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo objects to concatenate\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m    406\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m keys \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m    407\u001b[0m     objs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(com\u001b[38;5;241m.\u001b[39mnot_none(\u001b[38;5;241m*\u001b[39mobjs))\n",
      "\u001b[1;31mValueError\u001b[0m: No objects to concatenate"
     ]
    }
   ],
   "source": [
    "df = pd.concat(response_df)\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7a6da0da",
   "metadata": {},
   "source": [
    "# 数据分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "e38dc133",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>dataInfo</th>\n",
       "      <th>dataParams</th>\n",
       "      <th>job.labels</th>\n",
       "      <th>job.refreshTime</th>\n",
       "      <th>job.title</th>\n",
       "      <th>job.salary</th>\n",
       "      <th>job.dq</th>\n",
       "      <th>job.jobId</th>\n",
       "      <th>job.topJob</th>\n",
       "      <th>...</th>\n",
       "      <th>comp.link</th>\n",
       "      <th>comp.compIndustry</th>\n",
       "      <th>comp.compScale</th>\n",
       "      <th>recruiter.recruiterName</th>\n",
       "      <th>recruiter.recruiterTitle</th>\n",
       "      <th>recruiter.imId</th>\n",
       "      <th>recruiter.imUserType</th>\n",
       "      <th>recruiter.chatted</th>\n",
       "      <th>recruiter.recruiterId</th>\n",
       "      <th>recruiter.recruiterPhoto</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"梁女士\",\"jobId\":\"49036529\",\"imI...</td>\n",
       "      <td>[]</td>\n",
       "      <td>20230412095614</td>\n",
       "      <td>医药产品经理</td>\n",
       "      <td>15-20k</td>\n",
       "      <td>广州</td>\n",
       "      <td>49036529</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/2051572/</td>\n",
       "      <td>制药</td>\n",
       "      <td>1000-2000人</td>\n",
       "      <td>梁女士</td>\n",
       "      <td>NaN</td>\n",
       "      <td>d7754d4d4e4aa4da6dadb487287a091a</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>1cd0965588ebd1dba766278cd27a88c2</td>\n",
       "      <td>5bd962c38e50a3257f7c32d304a.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"刘女士\",\"jobId\":\"58002363\",\"imI...</td>\n",
       "      <td>['产品开发', '产品规划', '产品运营']</td>\n",
       "      <td>20230421104505</td>\n",
       "      <td>电商产品经理</td>\n",
       "      <td>10-15k·13薪</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>58002363</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/9720899/</td>\n",
       "      <td>批发/零售</td>\n",
       "      <td>50-99人</td>\n",
       "      <td>刘女士</td>\n",
       "      <td>人事经理</td>\n",
       "      <td>561ff6e28a2e9cb4aa6795a3148228ff</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>e478580dede58f33b410edb79f6d12d0</td>\n",
       "      <td>5f8f986779c7cc70efbf36c008u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"王女士\",\"jobId\":\"56876529\",\"imI...</td>\n",
       "      <td>[]</td>\n",
       "      <td>20230510113709</td>\n",
       "      <td>Automation Product Manager</td>\n",
       "      <td>20-40k·13薪</td>\n",
       "      <td>广州-天河区</td>\n",
       "      <td>56876529</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/8506529/</td>\n",
       "      <td>医疗器械</td>\n",
       "      <td>5000-10000人</td>\n",
       "      <td>王女士</td>\n",
       "      <td>人力资源专员</td>\n",
       "      <td>24c1cab13ef9bc2e801c17c79e240538</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>57a52ed73fed146b4c632be0178bfd3f</td>\n",
       "      <td>5f8f98648dbe6273dcf8515508u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"李女士\",\"jobId\":\"58230073\",\"imI...</td>\n",
       "      <td>['支付产品', '工具产品', '供应链产品', '产品规划', '产品设计', '需求分...</td>\n",
       "      <td>20230429161907</td>\n",
       "      <td>支付结算产品经理（供应链）</td>\n",
       "      <td>20-40k·16薪</td>\n",
       "      <td>广州-番禺区</td>\n",
       "      <td>58230073</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/8537928/</td>\n",
       "      <td>消费品</td>\n",
       "      <td>5000-10000人</td>\n",
       "      <td>李女士</td>\n",
       "      <td>HR</td>\n",
       "      <td>01bdff5bdd175f73bed9c63c695716f7</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>4cb038ce180249e5b6d6f34ea69aacf8</td>\n",
       "      <td>62201c0397e97d36de7fadb308u.png</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"李先生\",\"jobId\":\"44389755\",\"imI...</td>\n",
       "      <td>['工具产品', '海外产品']</td>\n",
       "      <td>20230504101816</td>\n",
       "      <td>项目负责人-出海工具</td>\n",
       "      <td>50-60k·18薪</td>\n",
       "      <td>广州</td>\n",
       "      <td>44389755</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>在线社交/媒体</td>\n",
       "      <td>100-499人</td>\n",
       "      <td>李先生</td>\n",
       "      <td>猎头顾问</td>\n",
       "      <td>a618aec32f807381e2a6e48d27d32952</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>7938d3385f4fa15e1077287a6124ac27</td>\n",
       "      <td>61c1856c1fe6ad2b061c38f408u.png</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>796</th>\n",
       "      <td>36</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"e225c3f62a005d602599e94...</td>\n",
       "      <td>['AI人工智能产品', 'IT互联网', '人工智能', '用户研究', '需求分析', ...</td>\n",
       "      <td>20221125101339</td>\n",
       "      <td>产品经理</td>\n",
       "      <td>14-17k</td>\n",
       "      <td>广州-天河区</td>\n",
       "      <td>54434179</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/13240331/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>1-49人</td>\n",
       "      <td>杨女士</td>\n",
       "      <td>HR</td>\n",
       "      <td>e225c3f62a005d602599e94af0746e13</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>2e7227dee6993722f405701a339a50b5</td>\n",
       "      <td>62a44db9eb7f9e008716ed4208u.png</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>797</th>\n",
       "      <td>37</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"1fe1f195fb9b578b4036597...</td>\n",
       "      <td>['产品经理', '智能硬件产品', '智能硬件', '车载产品', '行车记录仪']</td>\n",
       "      <td>20230426171852</td>\n",
       "      <td>高级产品经理（硬件产品）</td>\n",
       "      <td>20-30k</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>51415121</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/12274147/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>100-499人</td>\n",
       "      <td>王女士</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1fe1f195fb9b578b4036597854bcf58c</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>3008edc8b1b12656a3c5bc684e468568</td>\n",
       "      <td>5f8f9865ea60860b75384fa508u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>798</th>\n",
       "      <td>38</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"694fd92f6c2e08c7e2ff452...</td>\n",
       "      <td>[]</td>\n",
       "      <td>20230209091607</td>\n",
       "      <td>护肤品产品开发经理</td>\n",
       "      <td>10-20k</td>\n",
       "      <td>广州-海珠区</td>\n",
       "      <td>55885211</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/13413369/</td>\n",
       "      <td>电子商务</td>\n",
       "      <td>50-99人</td>\n",
       "      <td>麦女士</td>\n",
       "      <td>人事</td>\n",
       "      <td>694fd92f6c2e08c7e2ff452aa21dd897</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>5c70ee4140549e39609440013bae28b2</td>\n",
       "      <td>5f8f9865ea60860b75384fa508u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>799</th>\n",
       "      <td>39</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"16c9e99cc7e10c1f062c1b1...</td>\n",
       "      <td>['电商产品', 'IT互联网', '电子商务', '产品设计', '移动端产品', '产品...</td>\n",
       "      <td>20220224164403</td>\n",
       "      <td>产品经理</td>\n",
       "      <td>15-25k</td>\n",
       "      <td>广州</td>\n",
       "      <td>47448393</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/12677101/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>1-49人</td>\n",
       "      <td>钟先生</td>\n",
       "      <td>人事经理</td>\n",
       "      <td>16c9e99cc7e10c1f062c1b1ee9c7454d</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>6b69b564e7d96f6957441703e35c1686</td>\n",
       "      <td>5f8f986aea60860b75384fab08u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>800</th>\n",
       "      <td>0</td>\n",
       "      <td>%7B%22ckId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"userId\":\"3008edc8b1b12656a3c5bc684e468568\",\"...</td>\n",
       "      <td>['嵌入式硬件产品', '产品经理', '硬件产品经理', '硬件产品', '车载产品', ...</td>\n",
       "      <td>20230426171852</td>\n",
       "      <td>嵌入式硬件产品经理</td>\n",
       "      <td>20-30k</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>51414013</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/12274147/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>100-499人</td>\n",
       "      <td>王女士</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1fe1f195fb9b578b4036597854bcf58c</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>3008edc8b1b12656a3c5bc684e468568</td>\n",
       "      <td>5f8f9865ea60860b75384fa508u.jpg</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>801 rows × 32 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Unnamed: 0                                           dataInfo  \\\n",
       "0             0  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "1             1  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "2             2  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "3             3  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "4             4  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "..          ...                                                ...   \n",
       "796          36  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "797          37  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "798          38  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "799          39  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "800           0  %7B%22ckId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "\n",
       "                                            dataParams  \\\n",
       "0    {\"recruiterName\":\"梁女士\",\"jobId\":\"49036529\",\"imI...   \n",
       "1    {\"recruiterName\":\"刘女士\",\"jobId\":\"58002363\",\"imI...   \n",
       "2    {\"recruiterName\":\"王女士\",\"jobId\":\"56876529\",\"imI...   \n",
       "3    {\"recruiterName\":\"李女士\",\"jobId\":\"58230073\",\"imI...   \n",
       "4    {\"recruiterName\":\"李先生\",\"jobId\":\"44389755\",\"imI...   \n",
       "..                                                 ...   \n",
       "796  {\"jobKind\":\"2\",\"imId\":\"e225c3f62a005d602599e94...   \n",
       "797  {\"jobKind\":\"2\",\"imId\":\"1fe1f195fb9b578b4036597...   \n",
       "798  {\"jobKind\":\"2\",\"imId\":\"694fd92f6c2e08c7e2ff452...   \n",
       "799  {\"jobKind\":\"2\",\"imId\":\"16c9e99cc7e10c1f062c1b1...   \n",
       "800  {\"userId\":\"3008edc8b1b12656a3c5bc684e468568\",\"...   \n",
       "\n",
       "                                            job.labels  job.refreshTime  \\\n",
       "0                                                   []   20230412095614   \n",
       "1                             ['产品开发', '产品规划', '产品运营']   20230421104505   \n",
       "2                                                   []   20230510113709   \n",
       "3    ['支付产品', '工具产品', '供应链产品', '产品规划', '产品设计', '需求分...   20230429161907   \n",
       "4                                     ['工具产品', '海外产品']   20230504101816   \n",
       "..                                                 ...              ...   \n",
       "796  ['AI人工智能产品', 'IT互联网', '人工智能', '用户研究', '需求分析', ...   20221125101339   \n",
       "797        ['产品经理', '智能硬件产品', '智能硬件', '车载产品', '行车记录仪']   20230426171852   \n",
       "798                                                 []   20230209091607   \n",
       "799  ['电商产品', 'IT互联网', '电子商务', '产品设计', '移动端产品', '产品...   20220224164403   \n",
       "800  ['嵌入式硬件产品', '产品经理', '硬件产品经理', '硬件产品', '车载产品', ...   20230426171852   \n",
       "\n",
       "                      job.title  job.salary  job.dq  job.jobId  job.topJob  \\\n",
       "0                        医药产品经理      15-20k      广州   49036529        True   \n",
       "1                        电商产品经理  10-15k·13薪  广州-越秀区   58002363        True   \n",
       "2    Automation Product Manager  20-40k·13薪  广州-天河区   56876529       False   \n",
       "3                 支付结算产品经理（供应链）  20-40k·16薪  广州-番禺区   58230073       False   \n",
       "4                    项目负责人-出海工具  50-60k·18薪      广州   44389755       False   \n",
       "..                          ...         ...     ...        ...         ...   \n",
       "796                        产品经理      14-17k  广州-天河区   54434179       False   \n",
       "797                高级产品经理（硬件产品）      20-30k  广州-越秀区   51415121       False   \n",
       "798                   护肤品产品开发经理      10-20k  广州-海珠区   55885211       False   \n",
       "799                        产品经理      15-25k      广州   47448393       False   \n",
       "800                   嵌入式硬件产品经理      20-30k  广州-越秀区   51414013       False   \n",
       "\n",
       "     ...                                 comp.link comp.compIndustry  \\\n",
       "0    ...   https://www.liepin.com/company/2051572/                制药   \n",
       "1    ...   https://www.liepin.com/company/9720899/             批发/零售   \n",
       "2    ...   https://www.liepin.com/company/8506529/              医疗器械   \n",
       "3    ...   https://www.liepin.com/company/8537928/               消费品   \n",
       "4    ...                                       NaN           在线社交/媒体   \n",
       "..   ...                                       ...               ...   \n",
       "796  ...  https://www.liepin.com/company/13240331/             计算机软件   \n",
       "797  ...  https://www.liepin.com/company/12274147/             计算机软件   \n",
       "798  ...  https://www.liepin.com/company/13413369/              电子商务   \n",
       "799  ...  https://www.liepin.com/company/12677101/             计算机软件   \n",
       "800  ...  https://www.liepin.com/company/12274147/             计算机软件   \n",
       "\n",
       "    comp.compScale recruiter.recruiterName  recruiter.recruiterTitle  \\\n",
       "0       1000-2000人                     梁女士                       NaN   \n",
       "1           50-99人                     刘女士                      人事经理   \n",
       "2      5000-10000人                     王女士                    人力资源专员   \n",
       "3      5000-10000人                     李女士                        HR   \n",
       "4         100-499人                     李先生                      猎头顾问   \n",
       "..             ...                     ...                       ...   \n",
       "796          1-49人                     杨女士                        HR   \n",
       "797       100-499人                     王女士                       NaN   \n",
       "798         50-99人                     麦女士                        人事   \n",
       "799          1-49人                     钟先生                      人事经理   \n",
       "800       100-499人                     王女士                       NaN   \n",
       "\n",
       "                       recruiter.imId recruiter.imUserType  recruiter.chatted  \\\n",
       "0    d7754d4d4e4aa4da6dadb487287a091a                  2.0              False   \n",
       "1    561ff6e28a2e9cb4aa6795a3148228ff                  2.0              False   \n",
       "2    24c1cab13ef9bc2e801c17c79e240538                  2.0              False   \n",
       "3    01bdff5bdd175f73bed9c63c695716f7                  2.0              False   \n",
       "4    a618aec32f807381e2a6e48d27d32952                  2.0              False   \n",
       "..                                ...                  ...                ...   \n",
       "796  e225c3f62a005d602599e94af0746e13                  2.0              False   \n",
       "797  1fe1f195fb9b578b4036597854bcf58c                  2.0              False   \n",
       "798  694fd92f6c2e08c7e2ff452aa21dd897                  2.0              False   \n",
       "799  16c9e99cc7e10c1f062c1b1ee9c7454d                  2.0              False   \n",
       "800  1fe1f195fb9b578b4036597854bcf58c                  2.0              False   \n",
       "\n",
       "                recruiter.recruiterId         recruiter.recruiterPhoto  \n",
       "0    1cd0965588ebd1dba766278cd27a88c2  5bd962c38e50a3257f7c32d304a.jpg  \n",
       "1    e478580dede58f33b410edb79f6d12d0  5f8f986779c7cc70efbf36c008u.jpg  \n",
       "2    57a52ed73fed146b4c632be0178bfd3f  5f8f98648dbe6273dcf8515508u.jpg  \n",
       "3    4cb038ce180249e5b6d6f34ea69aacf8  62201c0397e97d36de7fadb308u.png  \n",
       "4    7938d3385f4fa15e1077287a6124ac27  61c1856c1fe6ad2b061c38f408u.png  \n",
       "..                                ...                              ...  \n",
       "796  2e7227dee6993722f405701a339a50b5  62a44db9eb7f9e008716ed4208u.png  \n",
       "797  3008edc8b1b12656a3c5bc684e468568  5f8f9865ea60860b75384fa508u.jpg  \n",
       "798  5c70ee4140549e39609440013bae28b2  5f8f9865ea60860b75384fa508u.jpg  \n",
       "799  6b69b564e7d96f6957441703e35c1686  5f8f986aea60860b75384fab08u.jpg  \n",
       "800  3008edc8b1b12656a3c5bc684e468568  5f8f9865ea60860b75384fa508u.jpg  \n",
       "\n",
       "[801 rows x 32 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_excel('liepin_PM_0510.xlsx')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "502844a8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 801 entries, 0 to 800\n",
      "Data columns (total 32 columns):\n",
      " #   Column                    Non-Null Count  Dtype  \n",
      "---  ------                    --------------  -----  \n",
      " 0   Unnamed: 0                801 non-null    int64  \n",
      " 1   dataInfo                  801 non-null    object \n",
      " 2   dataParams                801 non-null    object \n",
      " 3   job.labels                801 non-null    object \n",
      " 4   job.refreshTime           801 non-null    int64  \n",
      " 5   job.title                 801 non-null    object \n",
      " 6   job.salary                801 non-null    object \n",
      " 7   job.dq                    801 non-null    object \n",
      " 8   job.jobId                 801 non-null    int64  \n",
      " 9   job.topJob                801 non-null    bool   \n",
      " 10  job.jobKind               801 non-null    int64  \n",
      " 11  job.link                  801 non-null    object \n",
      " 12  job.requireWorkYears      801 non-null    object \n",
      " 13  job.requireEduLevel       801 non-null    object \n",
      " 14  job.pcOuterLink           0 non-null      float64\n",
      " 15  job.h5OuterLink           0 non-null      float64\n",
      " 16  job.dataPromId            801 non-null    object \n",
      " 17  job.advViewFlag           801 non-null    bool   \n",
      " 18  comp.compId               535 non-null    float64\n",
      " 19  comp.compStage            442 non-null    object \n",
      " 20  comp.compLogo             801 non-null    object \n",
      " 21  comp.compName             801 non-null    object \n",
      " 22  comp.link                 534 non-null    object \n",
      " 23  comp.compIndustry         800 non-null    object \n",
      " 24  comp.compScale            786 non-null    object \n",
      " 25  recruiter.recruiterName   801 non-null    object \n",
      " 26  recruiter.recruiterTitle  733 non-null    object \n",
      " 27  recruiter.imId            800 non-null    object \n",
      " 28  recruiter.imUserType      800 non-null    float64\n",
      " 29  recruiter.chatted         801 non-null    bool   \n",
      " 30  recruiter.recruiterId     800 non-null    object \n",
      " 31  recruiter.recruiterPhoto  801 non-null    object \n",
      "dtypes: bool(3), float64(4), int64(4), object(21)\n",
      "memory usage: 183.9+ KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "35895190",
   "metadata": {},
   "source": [
    "## 筛选存在数据分析价值的列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "26c86398",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job.labels</th>\n",
       "      <th>job.refreshTime</th>\n",
       "      <th>job.title</th>\n",
       "      <th>job.salary</th>\n",
       "      <th>job.dq</th>\n",
       "      <th>job.topJob</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[]</td>\n",
       "      <td>20230412095614</td>\n",
       "      <td>医药产品经理</td>\n",
       "      <td>15-20k</td>\n",
       "      <td>广州</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>['产品开发', '产品规划', '产品运营']</td>\n",
       "      <td>20230421104505</td>\n",
       "      <td>电商产品经理</td>\n",
       "      <td>10-15k·13薪</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[]</td>\n",
       "      <td>20230510113709</td>\n",
       "      <td>Automation Product Manager</td>\n",
       "      <td>20-40k·13薪</td>\n",
       "      <td>广州-天河区</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>['支付产品', '工具产品', '供应链产品', '产品规划', '产品设计', '需求分...</td>\n",
       "      <td>20230429161907</td>\n",
       "      <td>支付结算产品经理（供应链）</td>\n",
       "      <td>20-40k·16薪</td>\n",
       "      <td>广州-番禺区</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>['工具产品', '海外产品']</td>\n",
       "      <td>20230504101816</td>\n",
       "      <td>项目负责人-出海工具</td>\n",
       "      <td>50-60k·18薪</td>\n",
       "      <td>广州</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>796</th>\n",
       "      <td>['AI人工智能产品', 'IT互联网', '人工智能', '用户研究', '需求分析', ...</td>\n",
       "      <td>20221125101339</td>\n",
       "      <td>产品经理</td>\n",
       "      <td>14-17k</td>\n",
       "      <td>广州-天河区</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>797</th>\n",
       "      <td>['产品经理', '智能硬件产品', '智能硬件', '车载产品', '行车记录仪']</td>\n",
       "      <td>20230426171852</td>\n",
       "      <td>高级产品经理（硬件产品）</td>\n",
       "      <td>20-30k</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>798</th>\n",
       "      <td>[]</td>\n",
       "      <td>20230209091607</td>\n",
       "      <td>护肤品产品开发经理</td>\n",
       "      <td>10-20k</td>\n",
       "      <td>广州-海珠区</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>799</th>\n",
       "      <td>['电商产品', 'IT互联网', '电子商务', '产品设计', '移动端产品', '产品...</td>\n",
       "      <td>20220224164403</td>\n",
       "      <td>产品经理</td>\n",
       "      <td>15-25k</td>\n",
       "      <td>广州</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>800</th>\n",
       "      <td>['嵌入式硬件产品', '产品经理', '硬件产品经理', '硬件产品', '车载产品', ...</td>\n",
       "      <td>20230426171852</td>\n",
       "      <td>嵌入式硬件产品经理</td>\n",
       "      <td>20-30k</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>801 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                            job.labels  job.refreshTime  \\\n",
       "0                                                   []   20230412095614   \n",
       "1                             ['产品开发', '产品规划', '产品运营']   20230421104505   \n",
       "2                                                   []   20230510113709   \n",
       "3    ['支付产品', '工具产品', '供应链产品', '产品规划', '产品设计', '需求分...   20230429161907   \n",
       "4                                     ['工具产品', '海外产品']   20230504101816   \n",
       "..                                                 ...              ...   \n",
       "796  ['AI人工智能产品', 'IT互联网', '人工智能', '用户研究', '需求分析', ...   20221125101339   \n",
       "797        ['产品经理', '智能硬件产品', '智能硬件', '车载产品', '行车记录仪']   20230426171852   \n",
       "798                                                 []   20230209091607   \n",
       "799  ['电商产品', 'IT互联网', '电子商务', '产品设计', '移动端产品', '产品...   20220224164403   \n",
       "800  ['嵌入式硬件产品', '产品经理', '硬件产品经理', '硬件产品', '车载产品', ...   20230426171852   \n",
       "\n",
       "                      job.title  job.salary  job.dq  job.topJob  \n",
       "0                        医药产品经理      15-20k      广州        True  \n",
       "1                        电商产品经理  10-15k·13薪  广州-越秀区        True  \n",
       "2    Automation Product Manager  20-40k·13薪  广州-天河区       False  \n",
       "3                 支付结算产品经理（供应链）  20-40k·16薪  广州-番禺区       False  \n",
       "4                    项目负责人-出海工具  50-60k·18薪      广州       False  \n",
       "..                          ...         ...     ...         ...  \n",
       "796                        产品经理      14-17k  广州-天河区       False  \n",
       "797                高级产品经理（硬件产品）      20-30k  广州-越秀区       False  \n",
       "798                   护肤品产品开发经理      10-20k  广州-海珠区       False  \n",
       "799                        产品经理      15-25k      广州       False  \n",
       "800                   嵌入式硬件产品经理      20-30k  广州-越秀区       False  \n",
       "\n",
       "[801 rows x 6 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_PM_gz = df[['job.labels','job.refreshTime','job.title','job.salary','job.dq','job.topJob']]\n",
    "df_PM_gz"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b12c0ef",
   "metadata": {},
   "source": [
    "## 广州的PM分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "8774b641",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "广州        275\n",
       "广州-天河区    155\n",
       "广州-黄埔区    102\n",
       "广州-海珠区     76\n",
       "广州-番禺区     71\n",
       "广州-越秀区     46\n",
       "广州-白云区     43\n",
       "广州-南沙区     15\n",
       "广州-荔湾区      9\n",
       "广州-花都区      5\n",
       "广州-增城区      4\n",
       "Name: job.dq, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_PM_gz['job.dq'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "d29283c3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['天河区', '黄埔区', '海珠区', '番禺区', '越秀区', '白云区', '南沙区', '荔湾区', '花都区', '增城区']"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州地区 = [i.split('-')[1]    for i in df_PM_gz['job.dq'].value_counts().index.tolist()[1:]]\n",
    "广州地区"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "e2c0c566",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[155, 102, 76, 71, 46, 43, 15, 9, 5, 4]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "广州岗位个数 = df_PM_gz['job.dq'].value_counts().values.tolist()[1:]\n",
    "广州岗位个数"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3585bc76",
   "metadata": {},
   "source": [
    "## 职位分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "836d829f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "ae9df8d0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>dataInfo</th>\n",
       "      <th>dataParams</th>\n",
       "      <th>job.labels</th>\n",
       "      <th>job.refreshTime</th>\n",
       "      <th>job.title</th>\n",
       "      <th>job.salary</th>\n",
       "      <th>job.dq</th>\n",
       "      <th>job.jobId</th>\n",
       "      <th>job.topJob</th>\n",
       "      <th>...</th>\n",
       "      <th>comp.link</th>\n",
       "      <th>comp.compIndustry</th>\n",
       "      <th>comp.compScale</th>\n",
       "      <th>recruiter.recruiterName</th>\n",
       "      <th>recruiter.recruiterTitle</th>\n",
       "      <th>recruiter.imId</th>\n",
       "      <th>recruiter.imUserType</th>\n",
       "      <th>recruiter.chatted</th>\n",
       "      <th>recruiter.recruiterId</th>\n",
       "      <th>recruiter.recruiterPhoto</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"梁女士\",\"jobId\":\"49036529\",\"imI...</td>\n",
       "      <td>[]</td>\n",
       "      <td>20230412095614</td>\n",
       "      <td>医药产品经理</td>\n",
       "      <td>15-20k</td>\n",
       "      <td>广州</td>\n",
       "      <td>49036529</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/2051572/</td>\n",
       "      <td>制药</td>\n",
       "      <td>1000-2000人</td>\n",
       "      <td>梁女士</td>\n",
       "      <td>NaN</td>\n",
       "      <td>d7754d4d4e4aa4da6dadb487287a091a</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>1cd0965588ebd1dba766278cd27a88c2</td>\n",
       "      <td>5bd962c38e50a3257f7c32d304a.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"刘女士\",\"jobId\":\"58002363\",\"imI...</td>\n",
       "      <td>['产品开发', '产品规划', '产品运营']</td>\n",
       "      <td>20230421104505</td>\n",
       "      <td>电商产品经理</td>\n",
       "      <td>10-15k·13薪</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>58002363</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/9720899/</td>\n",
       "      <td>批发/零售</td>\n",
       "      <td>50-99人</td>\n",
       "      <td>刘女士</td>\n",
       "      <td>人事经理</td>\n",
       "      <td>561ff6e28a2e9cb4aa6795a3148228ff</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>e478580dede58f33b410edb79f6d12d0</td>\n",
       "      <td>5f8f986779c7cc70efbf36c008u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"王女士\",\"jobId\":\"56876529\",\"imI...</td>\n",
       "      <td>[]</td>\n",
       "      <td>20230510113709</td>\n",
       "      <td>Automation Product Manager</td>\n",
       "      <td>20-40k·13薪</td>\n",
       "      <td>广州-天河区</td>\n",
       "      <td>56876529</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/8506529/</td>\n",
       "      <td>医疗器械</td>\n",
       "      <td>5000-10000人</td>\n",
       "      <td>王女士</td>\n",
       "      <td>人力资源专员</td>\n",
       "      <td>24c1cab13ef9bc2e801c17c79e240538</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>57a52ed73fed146b4c632be0178bfd3f</td>\n",
       "      <td>5f8f98648dbe6273dcf8515508u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"李女士\",\"jobId\":\"58230073\",\"imI...</td>\n",
       "      <td>['支付产品', '工具产品', '供应链产品', '产品规划', '产品设计', '需求分...</td>\n",
       "      <td>20230429161907</td>\n",
       "      <td>支付结算产品经理（供应链）</td>\n",
       "      <td>20-40k·16薪</td>\n",
       "      <td>广州-番禺区</td>\n",
       "      <td>58230073</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/8537928/</td>\n",
       "      <td>消费品</td>\n",
       "      <td>5000-10000人</td>\n",
       "      <td>李女士</td>\n",
       "      <td>HR</td>\n",
       "      <td>01bdff5bdd175f73bed9c63c695716f7</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>4cb038ce180249e5b6d6f34ea69aacf8</td>\n",
       "      <td>62201c0397e97d36de7fadb308u.png</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>%7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"recruiterName\":\"李先生\",\"jobId\":\"44389755\",\"imI...</td>\n",
       "      <td>['工具产品', '海外产品']</td>\n",
       "      <td>20230504101816</td>\n",
       "      <td>项目负责人-出海工具</td>\n",
       "      <td>50-60k·18薪</td>\n",
       "      <td>广州</td>\n",
       "      <td>44389755</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>在线社交/媒体</td>\n",
       "      <td>100-499人</td>\n",
       "      <td>李先生</td>\n",
       "      <td>猎头顾问</td>\n",
       "      <td>a618aec32f807381e2a6e48d27d32952</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>7938d3385f4fa15e1077287a6124ac27</td>\n",
       "      <td>61c1856c1fe6ad2b061c38f408u.png</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>796</th>\n",
       "      <td>36</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"e225c3f62a005d602599e94...</td>\n",
       "      <td>['AI人工智能产品', 'IT互联网', '人工智能', '用户研究', '需求分析', ...</td>\n",
       "      <td>20221125101339</td>\n",
       "      <td>产品经理</td>\n",
       "      <td>14-17k</td>\n",
       "      <td>广州-天河区</td>\n",
       "      <td>54434179</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/13240331/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>1-49人</td>\n",
       "      <td>杨女士</td>\n",
       "      <td>HR</td>\n",
       "      <td>e225c3f62a005d602599e94af0746e13</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>2e7227dee6993722f405701a339a50b5</td>\n",
       "      <td>62a44db9eb7f9e008716ed4208u.png</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>797</th>\n",
       "      <td>37</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"1fe1f195fb9b578b4036597...</td>\n",
       "      <td>['产品经理', '智能硬件产品', '智能硬件', '车载产品', '行车记录仪']</td>\n",
       "      <td>20230426171852</td>\n",
       "      <td>高级产品经理（硬件产品）</td>\n",
       "      <td>20-30k</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>51415121</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/12274147/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>100-499人</td>\n",
       "      <td>王女士</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1fe1f195fb9b578b4036597854bcf58c</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>3008edc8b1b12656a3c5bc684e468568</td>\n",
       "      <td>5f8f9865ea60860b75384fa508u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>798</th>\n",
       "      <td>38</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"694fd92f6c2e08c7e2ff452...</td>\n",
       "      <td>[]</td>\n",
       "      <td>20230209091607</td>\n",
       "      <td>护肤品产品开发经理</td>\n",
       "      <td>10-20k</td>\n",
       "      <td>广州-海珠区</td>\n",
       "      <td>55885211</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/13413369/</td>\n",
       "      <td>电子商务</td>\n",
       "      <td>50-99人</td>\n",
       "      <td>麦女士</td>\n",
       "      <td>人事</td>\n",
       "      <td>694fd92f6c2e08c7e2ff452aa21dd897</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>5c70ee4140549e39609440013bae28b2</td>\n",
       "      <td>5f8f9865ea60860b75384fa508u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>799</th>\n",
       "      <td>39</td>\n",
       "      <td>%7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...</td>\n",
       "      <td>{\"jobKind\":\"2\",\"imId\":\"16c9e99cc7e10c1f062c1b1...</td>\n",
       "      <td>['电商产品', 'IT互联网', '电子商务', '产品设计', '移动端产品', '产品...</td>\n",
       "      <td>20220224164403</td>\n",
       "      <td>产品经理</td>\n",
       "      <td>15-25k</td>\n",
       "      <td>广州</td>\n",
       "      <td>47448393</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/12677101/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>1-49人</td>\n",
       "      <td>钟先生</td>\n",
       "      <td>人事经理</td>\n",
       "      <td>16c9e99cc7e10c1f062c1b1ee9c7454d</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>6b69b564e7d96f6957441703e35c1686</td>\n",
       "      <td>5f8f986aea60860b75384fab08u.jpg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>800</th>\n",
       "      <td>0</td>\n",
       "      <td>%7B%22ckId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...</td>\n",
       "      <td>{\"userId\":\"3008edc8b1b12656a3c5bc684e468568\",\"...</td>\n",
       "      <td>['嵌入式硬件产品', '产品经理', '硬件产品经理', '硬件产品', '车载产品', ...</td>\n",
       "      <td>20230426171852</td>\n",
       "      <td>嵌入式硬件产品经理</td>\n",
       "      <td>20-30k</td>\n",
       "      <td>广州-越秀区</td>\n",
       "      <td>51414013</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>https://www.liepin.com/company/12274147/</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>100-499人</td>\n",
       "      <td>王女士</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1fe1f195fb9b578b4036597854bcf58c</td>\n",
       "      <td>2.0</td>\n",
       "      <td>False</td>\n",
       "      <td>3008edc8b1b12656a3c5bc684e468568</td>\n",
       "      <td>5f8f9865ea60860b75384fa508u.jpg</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>801 rows × 32 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Unnamed: 0                                           dataInfo  \\\n",
       "0             0  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "1             1  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "2             2  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "3             3  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "4             4  %7B%22skId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "..          ...                                                ...   \n",
       "796          36  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "797          37  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "798          38  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "799          39  %7B%22jobKind%22%3A%222%22%2C%22pageSize%22%3A...   \n",
       "800           0  %7B%22ckId%22%3A%22h2c8pxojavrmo1w785z7ueih2yb...   \n",
       "\n",
       "                                            dataParams  \\\n",
       "0    {\"recruiterName\":\"梁女士\",\"jobId\":\"49036529\",\"imI...   \n",
       "1    {\"recruiterName\":\"刘女士\",\"jobId\":\"58002363\",\"imI...   \n",
       "2    {\"recruiterName\":\"王女士\",\"jobId\":\"56876529\",\"imI...   \n",
       "3    {\"recruiterName\":\"李女士\",\"jobId\":\"58230073\",\"imI...   \n",
       "4    {\"recruiterName\":\"李先生\",\"jobId\":\"44389755\",\"imI...   \n",
       "..                                                 ...   \n",
       "796  {\"jobKind\":\"2\",\"imId\":\"e225c3f62a005d602599e94...   \n",
       "797  {\"jobKind\":\"2\",\"imId\":\"1fe1f195fb9b578b4036597...   \n",
       "798  {\"jobKind\":\"2\",\"imId\":\"694fd92f6c2e08c7e2ff452...   \n",
       "799  {\"jobKind\":\"2\",\"imId\":\"16c9e99cc7e10c1f062c1b1...   \n",
       "800  {\"userId\":\"3008edc8b1b12656a3c5bc684e468568\",\"...   \n",
       "\n",
       "                                            job.labels  job.refreshTime  \\\n",
       "0                                                   []   20230412095614   \n",
       "1                             ['产品开发', '产品规划', '产品运营']   20230421104505   \n",
       "2                                                   []   20230510113709   \n",
       "3    ['支付产品', '工具产品', '供应链产品', '产品规划', '产品设计', '需求分...   20230429161907   \n",
       "4                                     ['工具产品', '海外产品']   20230504101816   \n",
       "..                                                 ...              ...   \n",
       "796  ['AI人工智能产品', 'IT互联网', '人工智能', '用户研究', '需求分析', ...   20221125101339   \n",
       "797        ['产品经理', '智能硬件产品', '智能硬件', '车载产品', '行车记录仪']   20230426171852   \n",
       "798                                                 []   20230209091607   \n",
       "799  ['电商产品', 'IT互联网', '电子商务', '产品设计', '移动端产品', '产品...   20220224164403   \n",
       "800  ['嵌入式硬件产品', '产品经理', '硬件产品经理', '硬件产品', '车载产品', ...   20230426171852   \n",
       "\n",
       "                      job.title  job.salary  job.dq  job.jobId  job.topJob  \\\n",
       "0                        医药产品经理      15-20k      广州   49036529        True   \n",
       "1                        电商产品经理  10-15k·13薪  广州-越秀区   58002363        True   \n",
       "2    Automation Product Manager  20-40k·13薪  广州-天河区   56876529       False   \n",
       "3                 支付结算产品经理（供应链）  20-40k·16薪  广州-番禺区   58230073       False   \n",
       "4                    项目负责人-出海工具  50-60k·18薪      广州   44389755       False   \n",
       "..                          ...         ...     ...        ...         ...   \n",
       "796                        产品经理      14-17k  广州-天河区   54434179       False   \n",
       "797                高级产品经理（硬件产品）      20-30k  广州-越秀区   51415121       False   \n",
       "798                   护肤品产品开发经理      10-20k  广州-海珠区   55885211       False   \n",
       "799                        产品经理      15-25k      广州   47448393       False   \n",
       "800                   嵌入式硬件产品经理      20-30k  广州-越秀区   51414013       False   \n",
       "\n",
       "     ...                                 comp.link comp.compIndustry  \\\n",
       "0    ...   https://www.liepin.com/company/2051572/                制药   \n",
       "1    ...   https://www.liepin.com/company/9720899/             批发/零售   \n",
       "2    ...   https://www.liepin.com/company/8506529/              医疗器械   \n",
       "3    ...   https://www.liepin.com/company/8537928/               消费品   \n",
       "4    ...                                       NaN           在线社交/媒体   \n",
       "..   ...                                       ...               ...   \n",
       "796  ...  https://www.liepin.com/company/13240331/             计算机软件   \n",
       "797  ...  https://www.liepin.com/company/12274147/             计算机软件   \n",
       "798  ...  https://www.liepin.com/company/13413369/              电子商务   \n",
       "799  ...  https://www.liepin.com/company/12677101/             计算机软件   \n",
       "800  ...  https://www.liepin.com/company/12274147/             计算机软件   \n",
       "\n",
       "    comp.compScale recruiter.recruiterName  recruiter.recruiterTitle  \\\n",
       "0       1000-2000人                     梁女士                       NaN   \n",
       "1           50-99人                     刘女士                      人事经理   \n",
       "2      5000-10000人                     王女士                    人力资源专员   \n",
       "3      5000-10000人                     李女士                        HR   \n",
       "4         100-499人                     李先生                      猎头顾问   \n",
       "..             ...                     ...                       ...   \n",
       "796          1-49人                     杨女士                        HR   \n",
       "797       100-499人                     王女士                       NaN   \n",
       "798         50-99人                     麦女士                        人事   \n",
       "799          1-49人                     钟先生                      人事经理   \n",
       "800       100-499人                     王女士                       NaN   \n",
       "\n",
       "                       recruiter.imId recruiter.imUserType  recruiter.chatted  \\\n",
       "0    d7754d4d4e4aa4da6dadb487287a091a                  2.0              False   \n",
       "1    561ff6e28a2e9cb4aa6795a3148228ff                  2.0              False   \n",
       "2    24c1cab13ef9bc2e801c17c79e240538                  2.0              False   \n",
       "3    01bdff5bdd175f73bed9c63c695716f7                  2.0              False   \n",
       "4    a618aec32f807381e2a6e48d27d32952                  2.0              False   \n",
       "..                                ...                  ...                ...   \n",
       "796  e225c3f62a005d602599e94af0746e13                  2.0              False   \n",
       "797  1fe1f195fb9b578b4036597854bcf58c                  2.0              False   \n",
       "798  694fd92f6c2e08c7e2ff452aa21dd897                  2.0              False   \n",
       "799  16c9e99cc7e10c1f062c1b1ee9c7454d                  2.0              False   \n",
       "800  1fe1f195fb9b578b4036597854bcf58c                  2.0              False   \n",
       "\n",
       "                recruiter.recruiterId         recruiter.recruiterPhoto  \n",
       "0    1cd0965588ebd1dba766278cd27a88c2  5bd962c38e50a3257f7c32d304a.jpg  \n",
       "1    e478580dede58f33b410edb79f6d12d0  5f8f986779c7cc70efbf36c008u.jpg  \n",
       "2    57a52ed73fed146b4c632be0178bfd3f  5f8f98648dbe6273dcf8515508u.jpg  \n",
       "3    4cb038ce180249e5b6d6f34ea69aacf8  62201c0397e97d36de7fadb308u.png  \n",
       "4    7938d3385f4fa15e1077287a6124ac27  61c1856c1fe6ad2b061c38f408u.png  \n",
       "..                                ...                              ...  \n",
       "796  2e7227dee6993722f405701a339a50b5  62a44db9eb7f9e008716ed4208u.png  \n",
       "797  3008edc8b1b12656a3c5bc684e468568  5f8f9865ea60860b75384fa508u.jpg  \n",
       "798  5c70ee4140549e39609440013bae28b2  5f8f9865ea60860b75384fa508u.jpg  \n",
       "799  6b69b564e7d96f6957441703e35c1686  5f8f986aea60860b75384fab08u.jpg  \n",
       "800  3008edc8b1b12656a3c5bc684e468568  5f8f9865ea60860b75384fa508u.jpg  \n",
       "\n",
       "[801 rows x 32 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_excel('liepin_PM_0510.xlsx')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "322bea4f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3           支付结算产品经理\n",
       "8               产品经理\n",
       "9               产品经理\n",
       "10              产品经理\n",
       "14            高级产品经理\n",
       "           ...      \n",
       "760    展业系统主任 / 产品经理\n",
       "764             产品经理\n",
       "770             产品经理\n",
       "784             产品经理\n",
       "797           高级产品经理\n",
       "Name: job.title, Length: 227, dtype: object"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 还要合并回去原来的行\n",
    "df_PM_gz['job.title'][df_PM_gz['job.title'].str.contains('（')].str.split('（').apply(lambda x:x[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "fe5324cc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "产品经理                     303\n",
       "高级产品经理                    56\n",
       "软件产品经理                    27\n",
       "硬件产品经理                    15\n",
       "AI产品经理                    13\n",
       "                        ... \n",
       "产品经理(商品方向) (MJ007121)      1\n",
       "海外产品需求支持主任 (MJ001700)      1\n",
       "K12教学工具产品经理                1\n",
       "产品经理(妇瘤领域）                 1\n",
       "嵌入式硬件产品经理                  1\n",
       "Name: job.title, Length: 277, dtype: int64"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 处理过一些清洗后的数据\n",
    "df_job_title = df_PM_gz['job.title'].apply(lambda x:x.split('（')[0].split('/')[0]).value_counts()\n",
    "df_job_title"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "568c422a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['产品经理',\n",
       " '高级产品经理',\n",
       " '软件产品经理',\n",
       " '硬件产品经理',\n",
       " 'AI产品经理',\n",
       " '数据产品经理',\n",
       " '电商产品经理',\n",
       " '数据中台产品经理',\n",
       " 'AI应用产品经理',\n",
       " '医药产品经理',\n",
       " '助理产品经理',\n",
       " '金融产品经理',\n",
       " '区域产品经理',\n",
       " '海外产品经理',\n",
       " '产品主管',\n",
       " '智能硬件产品经理',\n",
       " 'B端产品经理',\n",
       " '医学产品经理',\n",
       " '产品经理岗',\n",
       " 'CRM产品经理',\n",
       " '资深产品经理',\n",
       " '展业系统产品经理',\n",
       " 'B端供应链产品经理',\n",
       " '金融科技产品经理',\n",
       " '医疗信息化产品经理',\n",
       " '高级数据产品经理',\n",
       " 'OTC区域产品经理',\n",
       " '电商硬件产品经理',\n",
       " '产品负责人',\n",
       " '肾线助理产品经理',\n",
       " '供应链产品经理',\n",
       " '硬件高级产品经理',\n",
       " '售前产品经理',\n",
       " '产品运营',\n",
       " 'eWMS Product Manager',\n",
       " 'ERP产品经理',\n",
       " '暖通产品经理',\n",
       " '芯片产品经理',\n",
       " '产品总监',\n",
       " '物联网产品经理',\n",
       " '食品产品经理',\n",
       " '产品经理 ',\n",
       " 'MES产品经理',\n",
       " '化妆品产品经理',\n",
       " '高级硬件产品经理',\n",
       " '电商产品经理(J10169)',\n",
       " '服务产品经理',\n",
       " '快消品产品经理',\n",
       " '跨境电商产品经理',\n",
       " '',\n",
       " '数码产品经理',\n",
       " '金融科技产品经理岗',\n",
       " '海外软件产品经理',\n",
       " '产品规划经理',\n",
       " 'Assistant Product Manager ',\n",
       " '风控产品经理',\n",
       " '产品拓展经理',\n",
       " '品质PM',\n",
       " '数据产品经理(U8848)',\n",
       " '高级WMS产品经理 (MJ003186)',\n",
       " '市场部产品经理',\n",
       " '充电-产品经理',\n",
       " '市场产品经理',\n",
       " '电商高级产品经理',\n",
       " 'PS',\n",
       " '项目发行PM',\n",
       " '高级产品',\n",
       " '数据ai产品经理',\n",
       " '高级产品经理(WMS方向) (MJ005470)',\n",
       " 'crm高级产品经理',\n",
       " '数据安全产品经理',\n",
       " 'SDK产品经理',\n",
       " '医疗器械产品经理',\n",
       " '项目经理',\n",
       " '安全产品经理',\n",
       " ' AI应用产品经理',\n",
       " '垂直电商产品经理',\n",
       " '照明产品经理',\n",
       " '彩妆产品经理',\n",
       " '中高级产品经理',\n",
       " '高级WMS产品经理',\n",
       " '游戏直播产品经理',\n",
       " '产品经理(J11411)',\n",
       " '产品经理-安全方向',\n",
       " '产品经理(J11093)',\n",
       " 'CRM实施顾问&项目经理PM(J12971)',\n",
       " '投资交易业务系统产品经理',\n",
       " '产品增长运营',\n",
       " '护肤品产品开发经理',\n",
       " '产品经理Product Manager',\n",
       " '人脸产品经理',\n",
       " 'C端产品经理',\n",
       " '仓储产品方案工程师',\n",
       " 'IOT产品经理',\n",
       " '展业系统主任 ',\n",
       " '产品经理 (MJ000352)',\n",
       " '经营分析岗',\n",
       " '医院后勤管理平台产品经理',\n",
       " '客户端产品经理',\n",
       " '运营商售前产品经理',\n",
       " '民航产品经理',\n",
       " '产品策划专家II(J11173)',\n",
       " '大数据产品经理',\n",
       " '产品经理-金融方向',\n",
       " 'AI应用产品经理 (MJ001731)',\n",
       " '产品经理(童年时光',\n",
       " '服务器产品经理',\n",
       " '智能机械软件产品经理',\n",
       " '产品经理助理',\n",
       " 'b端产品经理',\n",
       " '产品经理(crm',\n",
       " '售前产品经理(解决方案)工程师',\n",
       " '社交电商产品经理',\n",
       " '产品经理，平板笔记本方向',\n",
       " '高级产品经理(MRP方向) (MJ005781)',\n",
       " '高级TMS产品经理 (MJ005645)',\n",
       " '自动驾驶数据产品研发主管工程师',\n",
       " '跨境产品开发',\n",
       " 'NGS产品经理',\n",
       " 'GTD-PP-003：产品经理',\n",
       " '云网产品经理',\n",
       " '产品经理-PTN',\n",
       " 'PTBU-高级产品经理',\n",
       " '中台产品经理',\n",
       " '自动驾驶数据产品测试主管工程师',\n",
       " '智慧环保产品经理',\n",
       " '外贸产品经理',\n",
       " '工具规划产品经理',\n",
       " 'OTC产品经理',\n",
       " '文创产品经理',\n",
       " '高级产品开发经理',\n",
       " '互联网医疗产品经理',\n",
       " '中级产品经理',\n",
       " 'AJ1288-SPBU-高级产品经理(营收）',\n",
       " '售后研发产品经理',\n",
       " '产品核价师',\n",
       " '软件开发产品经理(智慧停车方向)',\n",
       " '产品推广技术经理',\n",
       " '安全类产品经理',\n",
       " '产品策划经理',\n",
       " '高级产品经理(海外HR产品） (MJ005267)',\n",
       " '上市厂商产品经理',\n",
       " '数据治理产品经理',\n",
       " '初级产品经理',\n",
       " '国际物流产品经理',\n",
       " '商家产品经理',\n",
       " '储备产品经理(J10823)',\n",
       " 'AI应用产品经理 ',\n",
       " '亚马逊高级产品开发专员',\n",
       " '中级用户研究员',\n",
       " '产品经理(美居生活',\n",
       " '高级产品开发员',\n",
       " '海外社交产品经理',\n",
       " '游戏PM',\n",
       " '临床产品经理',\n",
       " 'APP产品经理',\n",
       " '卡券工具平台产品经理',\n",
       " 'RPA产品经理',\n",
       " '算法产品经理',\n",
       " 'ZNXT-产品经理',\n",
       " '高级',\n",
       " '云桌面终端产品经理',\n",
       " '医药中央市场产品经理',\n",
       " '境外产品经理',\n",
       " '国企正编-产品经理',\n",
       " '自动驾驶',\n",
       " '高级SSP产品经理(广州）',\n",
       " '专科专病产品经理',\n",
       " '供需调度产品经理',\n",
       " '出境旅游产品经理',\n",
       " '互联网运营岗',\n",
       " '美食产品经理-主食',\n",
       " '水稻产品经理',\n",
       " '产品总监-逆变器',\n",
       " '产品经理-产品企划',\n",
       " 'WXG11-微信读书高级产品策划',\n",
       " '高级项目管理PM',\n",
       " '咨询顾问',\n",
       " '产品经理-产品企划(J13606)',\n",
       " '支付产品经理',\n",
       " '产品经理-肿瘤',\n",
       " '数据产品经理-经营分析及供应链方向',\n",
       " '智能机械硬件产品经理',\n",
       " '产品服务经理岗',\n",
       " '产品高级专员',\n",
       " 'AI应用产品经理-知名保健公司',\n",
       " '产品经理(护肤品)',\n",
       " '微生物检测产品经理',\n",
       " '产品专员',\n",
       " '用户增长产品经理',\n",
       " '语音直播产品经理',\n",
       " '产品经理 - eWMS',\n",
       " '金币项目高级产品经理',\n",
       " 'Automation Product Manager',\n",
       " '支付结算产品经理',\n",
       " '项目负责人-出海工具',\n",
       " 'eWMS产品经理',\n",
       " '数字化产品经理岗',\n",
       " ' Product Manager ',\n",
       " '信息流产品经理',\n",
       " '心血管产品线总经理',\n",
       " '高级产品经理(芯片方向)',\n",
       " '英文流利的海外SFA产品经理',\n",
       " '固收条线金融科技产品经理',\n",
       " '化妆品原料产品经理',\n",
       " '整机产品经理',\n",
       " 'Product Sales Manager MR 产品销售经理 广州',\n",
       " 'B端产品经理G00941',\n",
       " '广花融资担保公司',\n",
       " '产品经理-海外',\n",
       " '电商物流产品经理',\n",
       " '企业微信产品策划经理',\n",
       " 'eWMS',\n",
       " '智慧物流-产品经理',\n",
       " '数字化产品经理',\n",
       " 'AI产品经理岗',\n",
       " '新能源产品经理 (MJ000396)',\n",
       " '商业化产品经理-出海工具产品',\n",
       " '高级产品经理-',\n",
       " '数字营销PM',\n",
       " '解决方案产品经理 (MJ013260)',\n",
       " '网络金融部产品经理',\n",
       " '企业支付产品经理',\n",
       " '营收产品经理',\n",
       " '可视化产品经理',\n",
       " '高级TMS产品经理 (MJ003188)',\n",
       " '私募产品经理',\n",
       " '供应链产品经理 (MJ014974)',\n",
       " '产品经理( 1、儿科线 2、肝病',\n",
       " '跨境电商产品经理(J10187)',\n",
       " '市场产品经理(J10088)',\n",
       " '穿戴甲产品经理',\n",
       " '移动高级产品经理',\n",
       " '产品工程师',\n",
       " 'LIMS产品经理',\n",
       " '消费者BU 软件产品经理',\n",
       " 'APP高级产品经理',\n",
       " '高级产品PM',\n",
       " '互联网产品经理',\n",
       " '视频类产品经理',\n",
       " 'PM顾问',\n",
       " '产品运营经理',\n",
       " '家具产品经理',\n",
       " 'IT平台产品经理主管工程师',\n",
       " 'B端供应链产品经理 (MJ003688)',\n",
       " '产品销售经理-广州',\n",
       " '产品经理(快消品)',\n",
       " '家居-产品经理',\n",
       " 'IT产品经理岗',\n",
       " '代客代理中心产品经理岗',\n",
       " '潮玩盲盒产品经理',\n",
       " '活动PM',\n",
       " '助理产品经理—食品类',\n",
       " '证券金融IT产品经理',\n",
       " '口腔产品经理',\n",
       " '固网产品总监',\n",
       " '医疗产品经理',\n",
       " 'PM II',\n",
       " '广告系统产品经理 (MJ000362)',\n",
       " '产品经理(运营工具类)',\n",
       " '医药高级产品经理',\n",
       " '神外产品销售经理 Product Sales Manager',\n",
       " '临床试验项目经理PM',\n",
       " '交易支付产品经理',\n",
       " '全国产品经理',\n",
       " '政务产品经理',\n",
       " '研究所数字化产品经理',\n",
       " 'BI产品经理',\n",
       " '平台产品经理',\n",
       " '照明-产品经理',\n",
       " '高级产品经理(WMS方向) (MJ004770)',\n",
       " 'IT产品经理',\n",
       " '产品经理(商品方向) (MJ007121)',\n",
       " '海外产品需求支持主任 (MJ001700)',\n",
       " 'K12教学工具产品经理',\n",
       " '产品经理(妇瘤领域）',\n",
       " '嵌入式硬件产品经理']"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_job_title.index.tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "d4115395",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[303,\n",
       " 56,\n",
       " 27,\n",
       " 15,\n",
       " 13,\n",
       " 13,\n",
       " 13,\n",
       " 7,\n",
       " 7,\n",
       " 6,\n",
       " 5,\n",
       " 5,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_job_title.values.tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "f6955d2b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "277"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df_job_title.index.tolist())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "4649675b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "产品经理                            183\n",
       "高级产品经理                           31\n",
       "软件产品经理                           16\n",
       "AI产品经理                           12\n",
       "电商产品经理                           10\n",
       "                               ... \n",
       "IT产品经理岗（资产托管方向）                   1\n",
       "AI应用产品经理（推荐、预测类，实操算法、应用场景设计）      1\n",
       "潮玩盲盒产品经理                          1\n",
       "产品经理(妇瘤领域）                        1\n",
       "嵌入式硬件产品经理                         1\n",
       "Name: job.title, Length: 467, dtype: int64"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 未处理字符串的数据\n",
    "df_PM_gz['job.title'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "1fccdb22",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('产品经理', 303),\n",
       " ('高级产品经理', 56),\n",
       " ('软件产品经理', 27),\n",
       " ('硬件产品经理', 15),\n",
       " ('AI产品经理', 13),\n",
       " ('数据产品经理', 13),\n",
       " ('电商产品经理', 13),\n",
       " ('数据中台产品经理', 7),\n",
       " ('AI应用产品经理', 7),\n",
       " ('医药产品经理', 6),\n",
       " ('助理产品经理', 5),\n",
       " ('金融产品经理', 5),\n",
       " ('区域产品经理', 4),\n",
       " ('海外产品经理', 4),\n",
       " ('产品主管', 4),\n",
       " ('智能硬件产品经理', 4),\n",
       " ('B端产品经理', 4),\n",
       " ('医学产品经理', 3),\n",
       " ('产品经理岗', 3),\n",
       " ('CRM产品经理', 3),\n",
       " ('资深产品经理', 3),\n",
       " ('展业系统产品经理', 3),\n",
       " ('B端供应链产品经理', 3),\n",
       " ('金融科技产品经理', 3),\n",
       " ('医疗信息化产品经理', 3),\n",
       " ('高级数据产品经理', 3),\n",
       " ('OTC区域产品经理', 3),\n",
       " ('电商硬件产品经理', 3),\n",
       " ('产品负责人', 3),\n",
       " ('肾线助理产品经理', 2),\n",
       " ('供应链产品经理', 2),\n",
       " ('硬件高级产品经理', 2),\n",
       " ('售前产品经理', 2),\n",
       " ('产品运营', 2),\n",
       " ('eWMS Product Manager', 2),\n",
       " ('ERP产品经理', 2),\n",
       " ('暖通产品经理', 2),\n",
       " ('芯片产品经理', 2),\n",
       " ('产品总监', 2),\n",
       " ('物联网产品经理', 2),\n",
       " ('食品产品经理', 2),\n",
       " ('产品经理 ', 2),\n",
       " ('MES产品经理', 2),\n",
       " ('化妆品产品经理', 2),\n",
       " ('高级硬件产品经理', 2),\n",
       " ('电商产品经理(J10169)', 2),\n",
       " ('服务产品经理', 2),\n",
       " ('快消品产品经理', 2),\n",
       " ('跨境电商产品经理', 2),\n",
       " ('', 2),\n",
       " ('数码产品经理', 2),\n",
       " ('金融科技产品经理岗', 2),\n",
       " ('海外软件产品经理', 2),\n",
       " ('产品规划经理', 2),\n",
       " ('Assistant Product Manager ', 2),\n",
       " ('风控产品经理', 2),\n",
       " ('产品拓展经理', 1),\n",
       " ('品质PM', 1),\n",
       " ('数据产品经理(U8848)', 1),\n",
       " ('高级WMS产品经理 (MJ003186)', 1),\n",
       " ('市场部产品经理', 1),\n",
       " ('充电-产品经理', 1),\n",
       " ('市场产品经理', 1),\n",
       " ('电商高级产品经理', 1),\n",
       " ('PS', 1),\n",
       " ('项目发行PM', 1),\n",
       " ('高级产品', 1),\n",
       " ('数据ai产品经理', 1),\n",
       " ('高级产品经理(WMS方向) (MJ005470)', 1),\n",
       " ('crm高级产品经理', 1),\n",
       " ('数据安全产品经理', 1),\n",
       " ('SDK产品经理', 1),\n",
       " ('医疗器械产品经理', 1),\n",
       " ('项目经理', 1),\n",
       " ('安全产品经理', 1),\n",
       " (' AI应用产品经理', 1),\n",
       " ('垂直电商产品经理', 1),\n",
       " ('照明产品经理', 1),\n",
       " ('彩妆产品经理', 1),\n",
       " ('中高级产品经理', 1),\n",
       " ('高级WMS产品经理', 1),\n",
       " ('游戏直播产品经理', 1),\n",
       " ('产品经理(J11411)', 1),\n",
       " ('产品经理-安全方向', 1),\n",
       " ('产品经理(J11093)', 1),\n",
       " ('CRM实施顾问&项目经理PM(J12971)', 1),\n",
       " ('投资交易业务系统产品经理', 1),\n",
       " ('产品增长运营', 1),\n",
       " ('护肤品产品开发经理', 1),\n",
       " ('产品经理Product Manager', 1),\n",
       " ('人脸产品经理', 1),\n",
       " ('C端产品经理', 1),\n",
       " ('仓储产品方案工程师', 1),\n",
       " ('IOT产品经理', 1),\n",
       " ('展业系统主任 ', 1),\n",
       " ('产品经理 (MJ000352)', 1),\n",
       " ('经营分析岗', 1),\n",
       " ('医院后勤管理平台产品经理', 1),\n",
       " ('客户端产品经理', 1),\n",
       " ('运营商售前产品经理', 1),\n",
       " ('民航产品经理', 1),\n",
       " ('产品策划专家II(J11173)', 1),\n",
       " ('大数据产品经理', 1),\n",
       " ('产品经理-金融方向', 1),\n",
       " ('AI应用产品经理 (MJ001731)', 1),\n",
       " ('产品经理(童年时光', 1),\n",
       " ('服务器产品经理', 1),\n",
       " ('智能机械软件产品经理', 1),\n",
       " ('产品经理助理', 1),\n",
       " ('b端产品经理', 1),\n",
       " ('产品经理(crm', 1),\n",
       " ('售前产品经理(解决方案)工程师', 1),\n",
       " ('社交电商产品经理', 1),\n",
       " ('产品经理，平板笔记本方向', 1),\n",
       " ('高级产品经理(MRP方向) (MJ005781)', 1),\n",
       " ('高级TMS产品经理 (MJ005645)', 1),\n",
       " ('自动驾驶数据产品研发主管工程师', 1),\n",
       " ('跨境产品开发', 1),\n",
       " ('NGS产品经理', 1),\n",
       " ('GTD-PP-003：产品经理', 1),\n",
       " ('云网产品经理', 1),\n",
       " ('产品经理-PTN', 1),\n",
       " ('PTBU-高级产品经理', 1),\n",
       " ('中台产品经理', 1),\n",
       " ('自动驾驶数据产品测试主管工程师', 1),\n",
       " ('智慧环保产品经理', 1),\n",
       " ('外贸产品经理', 1),\n",
       " ('工具规划产品经理', 1),\n",
       " ('OTC产品经理', 1),\n",
       " ('文创产品经理', 1),\n",
       " ('高级产品开发经理', 1),\n",
       " ('互联网医疗产品经理', 1),\n",
       " ('中级产品经理', 1),\n",
       " ('AJ1288-SPBU-高级产品经理(营收）', 1),\n",
       " ('售后研发产品经理', 1),\n",
       " ('产品核价师', 1),\n",
       " ('软件开发产品经理(智慧停车方向)', 1),\n",
       " ('产品推广技术经理', 1),\n",
       " ('安全类产品经理', 1),\n",
       " ('产品策划经理', 1),\n",
       " ('高级产品经理(海外HR产品） (MJ005267)', 1),\n",
       " ('上市厂商产品经理', 1),\n",
       " ('数据治理产品经理', 1),\n",
       " ('初级产品经理', 1),\n",
       " ('国际物流产品经理', 1),\n",
       " ('商家产品经理', 1),\n",
       " ('储备产品经理(J10823)', 1),\n",
       " ('AI应用产品经理 ', 1),\n",
       " ('亚马逊高级产品开发专员', 1),\n",
       " ('中级用户研究员', 1),\n",
       " ('产品经理(美居生活', 1),\n",
       " ('高级产品开发员', 1),\n",
       " ('海外社交产品经理', 1),\n",
       " ('游戏PM', 1),\n",
       " ('临床产品经理', 1),\n",
       " ('APP产品经理', 1),\n",
       " ('卡券工具平台产品经理', 1),\n",
       " ('RPA产品经理', 1),\n",
       " ('算法产品经理', 1),\n",
       " ('ZNXT-产品经理', 1),\n",
       " ('高级', 1),\n",
       " ('云桌面终端产品经理', 1),\n",
       " ('医药中央市场产品经理', 1),\n",
       " ('境外产品经理', 1),\n",
       " ('国企正编-产品经理', 1),\n",
       " ('自动驾驶', 1),\n",
       " ('高级SSP产品经理(广州）', 1),\n",
       " ('专科专病产品经理', 1),\n",
       " ('供需调度产品经理', 1),\n",
       " ('出境旅游产品经理', 1),\n",
       " ('互联网运营岗', 1),\n",
       " ('美食产品经理-主食', 1),\n",
       " ('水稻产品经理', 1),\n",
       " ('产品总监-逆变器', 1),\n",
       " ('产品经理-产品企划', 1),\n",
       " ('WXG11-微信读书高级产品策划', 1),\n",
       " ('高级项目管理PM', 1),\n",
       " ('咨询顾问', 1),\n",
       " ('产品经理-产品企划(J13606)', 1),\n",
       " ('支付产品经理', 1),\n",
       " ('产品经理-肿瘤', 1),\n",
       " ('数据产品经理-经营分析及供应链方向', 1),\n",
       " ('智能机械硬件产品经理', 1),\n",
       " ('产品服务经理岗', 1),\n",
       " ('产品高级专员', 1),\n",
       " ('AI应用产品经理-知名保健公司', 1),\n",
       " ('产品经理(护肤品)', 1),\n",
       " ('微生物检测产品经理', 1),\n",
       " ('产品专员', 1),\n",
       " ('用户增长产品经理', 1),\n",
       " ('语音直播产品经理', 1),\n",
       " ('产品经理 - eWMS', 1),\n",
       " ('金币项目高级产品经理', 1),\n",
       " ('Automation Product Manager', 1),\n",
       " ('支付结算产品经理', 1),\n",
       " ('项目负责人-出海工具', 1),\n",
       " ('eWMS产品经理', 1),\n",
       " ('数字化产品经理岗', 1),\n",
       " (' Product Manager ', 1),\n",
       " ('信息流产品经理', 1),\n",
       " ('心血管产品线总经理', 1),\n",
       " ('高级产品经理(芯片方向)', 1),\n",
       " ('英文流利的海外SFA产品经理', 1),\n",
       " ('固收条线金融科技产品经理', 1),\n",
       " ('化妆品原料产品经理', 1),\n",
       " ('整机产品经理', 1),\n",
       " ('Product Sales Manager MR 产品销售经理 广州', 1),\n",
       " ('B端产品经理G00941', 1),\n",
       " ('广花融资担保公司', 1),\n",
       " ('产品经理-海外', 1),\n",
       " ('电商物流产品经理', 1),\n",
       " ('企业微信产品策划经理', 1),\n",
       " ('eWMS', 1),\n",
       " ('智慧物流-产品经理', 1),\n",
       " ('数字化产品经理', 1),\n",
       " ('AI产品经理岗', 1),\n",
       " ('新能源产品经理 (MJ000396)', 1),\n",
       " ('商业化产品经理-出海工具产品', 1),\n",
       " ('高级产品经理-', 1),\n",
       " ('数字营销PM', 1),\n",
       " ('解决方案产品经理 (MJ013260)', 1),\n",
       " ('网络金融部产品经理', 1),\n",
       " ('企业支付产品经理', 1),\n",
       " ('营收产品经理', 1),\n",
       " ('可视化产品经理', 1),\n",
       " ('高级TMS产品经理 (MJ003188)', 1),\n",
       " ('私募产品经理', 1),\n",
       " ('供应链产品经理 (MJ014974)', 1),\n",
       " ('产品经理( 1、儿科线 2、肝病', 1),\n",
       " ('跨境电商产品经理(J10187)', 1),\n",
       " ('市场产品经理(J10088)', 1),\n",
       " ('穿戴甲产品经理', 1),\n",
       " ('移动高级产品经理', 1),\n",
       " ('产品工程师', 1),\n",
       " ('LIMS产品经理', 1),\n",
       " ('消费者BU 软件产品经理', 1),\n",
       " ('APP高级产品经理', 1),\n",
       " ('高级产品PM', 1),\n",
       " ('互联网产品经理', 1),\n",
       " ('视频类产品经理', 1),\n",
       " ('PM顾问', 1),\n",
       " ('产品运营经理', 1),\n",
       " ('家具产品经理', 1),\n",
       " ('IT平台产品经理主管工程师', 1),\n",
       " ('B端供应链产品经理 (MJ003688)', 1),\n",
       " ('产品销售经理-广州', 1),\n",
       " ('产品经理(快消品)', 1),\n",
       " ('家居-产品经理', 1),\n",
       " ('IT产品经理岗', 1),\n",
       " ('代客代理中心产品经理岗', 1),\n",
       " ('潮玩盲盒产品经理', 1),\n",
       " ('活动PM', 1),\n",
       " ('助理产品经理—食品类', 1),\n",
       " ('证券金融IT产品经理', 1),\n",
       " ('口腔产品经理', 1),\n",
       " ('固网产品总监', 1),\n",
       " ('医疗产品经理', 1),\n",
       " ('PM II', 1),\n",
       " ('广告系统产品经理 (MJ000362)', 1),\n",
       " ('产品经理(运营工具类)', 1),\n",
       " ('医药高级产品经理', 1),\n",
       " ('神外产品销售经理 Product Sales Manager', 1),\n",
       " ('临床试验项目经理PM', 1),\n",
       " ('交易支付产品经理', 1),\n",
       " ('全国产品经理', 1),\n",
       " ('政务产品经理', 1),\n",
       " ('研究所数字化产品经理', 1),\n",
       " ('BI产品经理', 1),\n",
       " ('平台产品经理', 1),\n",
       " ('照明-产品经理', 1),\n",
       " ('高级产品经理(WMS方向) (MJ004770)', 1),\n",
       " ('IT产品经理', 1),\n",
       " ('产品经理(商品方向) (MJ007121)', 1),\n",
       " ('海外产品需求支持主任 (MJ001700)', 1),\n",
       " ('K12教学工具产品经理', 1),\n",
       " ('产品经理(妇瘤领域）', 1),\n",
       " ('嵌入式硬件产品经理', 1)]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " # 列表推导式\n",
    "PM_title_words = [(df_job_title.index.tolist()[i],df_job_title.values.tolist()[i])    for i in range (len(df_job_title.index.tolist()))]\n",
    "PM_title_words"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e8847c05",
   "metadata": {},
   "source": [
    "# job.labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "c24196fb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0                                                     []\n",
       "1                               ['产品开发', '产品规划', '产品运营']\n",
       "2                                                     []\n",
       "3      ['支付产品', '工具产品', '供应链产品', '产品规划', '产品设计', '需求分...\n",
       "4                                       ['工具产品', '海外产品']\n",
       "                             ...                        \n",
       "796    ['AI人工智能产品', 'IT互联网', '人工智能', '用户研究', '需求分析', ...\n",
       "797          ['产品经理', '智能硬件产品', '智能硬件', '车载产品', '行车记录仪']\n",
       "798                                                   []\n",
       "799    ['电商产品', 'IT互联网', '电子商务', '产品设计', '移动端产品', '产品...\n",
       "800    ['嵌入式硬件产品', '产品经理', '硬件产品经理', '硬件产品', '车载产品', ...\n",
       "Name: job.labels, Length: 801, dtype: object"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_PM_gz['job.labels']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c1158e50",
   "metadata": {},
   "outputs": [],
   "source": [
    "PM_labels_words =\n",
    "PM_labels_words"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
